export class LoginEnt {
  /**
   * @description 企业id
   * @type {string}
   */
  entId = ''
  /**
   * @description 企业名称
   * @type {string}
   */
  entName = ''
  /**企业工作台名称 */
  workbenchEntName = ''
  /**
   * @description 企业图标
   */
  entLogo?: string = ''
  /**
   * @description 企业类型code 枚举值
   * @type {string} association：协会、carrier：承运商、consignor：货主 、government：政府、other：其他，
   */
  entTypeCode = ''
  /**
   * @description 登录当前企业的账号id
   */
  entAccountId = ''
  /**
   * @description 虚拟企业。不知道啥用
   */
  shamEnt?: boolean
  /**
   * @description 是否为监管机构 - 0: 直接监管机构; 1: 非直接监管机构, 但是是监管机构; 2: 非监管机构
   */
  directFlag?: string
  operateEntFlag?: string
  organizationType?: string
  platformName?: string
  newBelongIndustry?: string
  serviceTypeValue?: string
  serviceFilingFlag?: string | number
  memberType?: string
  regionCode?: string //当前企业所在城市编码
  /**
   * 监管机构类型 - gcc: 工程车; fgcc: 非工程车; wjc: 外籍车;
   */

  constructor(obj?: Partial<LoginEnt> & { [key: string]: any }) {
    if (obj && obj.entId) {
      this.entId = obj.entId
      this.entName = obj.entName!
      this.entLogo = obj.entLogo || import.meta.env.VITE_DEFAULT_ENTLOGO
      this.entTypeCode = obj.entTypeCode!
      this.entAccountId = obj.entAccountId!
      this.shamEnt = obj.shamEnt
      this.workbenchEntName = obj.workbenchEntName ?? ''
      this.directFlag = obj.directFlag ?? ''
      this.operateEntFlag = obj.operateEntFlag ?? ''

      this.organizationType = obj.organizationType ?? ''
      this.platformName = obj.platformName ?? ''
      this.newBelongIndustry = obj.newBelongIndustry ?? ''

      this.serviceTypeValue = obj.serviceTypeValue ?? ''
      this.serviceFilingFlag = obj.serviceFilingFlag ?? ''
      this.memberType = obj.memberType ?? ''
      this.regionCode = obj.regionCode
      this.organizationType = obj.organizationType ?? ''
    }
  }
}

export class EntEntity {
  /**
   * @desc 企业id
   */
  entId = ''
  /**
   * @desc 企业名称
   */
  entName = ''
  /**
   * @desc 企业图标
   */
  entLogo = ''
  /**
   * @desc 企业类型code 枚举值
   */
  entTypeCode = ''
  /**
   * @description 是否为监管机构 - 0: 直接监管机构; 1: 非直接监管机构, 但是是监管机构; 2: 非监管机构
   */
  directFlag?: string
  operateEntFlag?: string
  platformName?: string
  newBelongIndustry?: string
  organizationType?: string

  serviceTypeValue?: string
  serviceFilingFlag?: string | number
  memberType?: string
  /**
   * 监管机构类型 - gcc: 工程车; fgcc: 非工程车; wjc: 外籍车;
   */
  constructor(obj: Partial<LoginEnt> & { [key: string]: any }) {
    if (obj && obj.entId) {
      this.entId = obj.entId
      this.entName = obj.entName!
      this.entLogo = obj.entLogo || import.meta.env.VITE_DEFAULT_ENTLOGO
      this.entTypeCode = obj.entTypeCode!
      this.directFlag = obj.directFlag ?? ''

      this.organizationType = obj.organizationType ?? ''
      this.operateEntFlag = obj.operateEntFlag ?? ''
      this.platformName = obj.platformName ?? ''
      this.serviceTypeValue = obj.serviceTypeValue ?? ''
      this.newBelongIndustry = obj.newBelongIndustry ?? ''
      this.serviceFilingFlag = obj.serviceFilingFlag ?? ''
      this.memberType = obj.memberType ?? ''
      this.organizationType = obj.organizationType ?? ''
    }
  }
}

export enum entTypeEnum {
  /**
   * @desc 其他类型
   */
  other = '0',
  /**
   * @desc 货主
   */
  consignor = '1',
  /**
   * @desc 承运商
   */
  carrier = '2',
  /**
   * @desc 政府
   */
  government = '3',
  /**
   * @desc 协会
   */
  association = '4',
  /**
   * @desc 服务商
   */
  service = '5',
  /**
   * @desc 物流园区
   */
  logistics_park = '6',
  /**
   * @desc 客运
   */
  transport = '7'
}
